﻿using Inventory.API.DTO.WarehousemanagementDTO;
using Inventory.API.Utils;
using Inventory.Domain;
using Inventory.Errorcode;
using MediatR;

namespace Inventory.API.Application.Command.WarehouseManagementCommand
{
    public class AddWarehousingCommand : IRequest<ApiResult>
    {
        /// <summary>
        /// 仓库编码
        /// </summary>
        public string Warehousecode { get; set; }

        /// <summary>
        /// 仓库名称
        /// </summary>
        public string Warehousename { get; set; }

        /// <summary>
        /// 面积
        /// </summary>
        public float Area { get; set; }

        /// <summary>
        /// 负责人
        /// </summary>
        public string Director { get; set; }

        /// <summary>
        /// 位置
        /// </summary>
        public string Location { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; }

    }


    public class GetWarehousingListQueryCommand : IRequest<ApiResult<PagingResult<IList<Warehousemanagement>>>>
    {

        /// <summary>
        /// 仓库编码
        /// </summary>
        public string? Warehousecode { get; set; }
        /// <summary>
        /// 仓库名称
        /// </summary>
        public string? Warehousename { get; set; }

        /// <summary>
        /// 位置
        /// </summary>
        public string? Location { get; set; }


        /// <summary>
        /// 负责人
        /// </summary>
        public string? Director { get; set; }
        /// <summary>
        /// 当前页
        /// </summary>
        public int PageIndex { get; set; }

        /// <summary>
        /// 页容量
        /// </summary>
        public int PageSize { get; set; }
    }

    public class DeleteWarehousingCommand : IRequest<ApiResult>
    {

        public int Warehousemanagementid { get; set; }
    }


    public class GetWarehousingInfoCommand : IRequest<ApiResult<Warehousemanagement>>
    {
        public int Warehousemanagementid { get; set; }
    }
    public class UpdateWarehousingCommand : IRequest<ApiResult>
    {
        public int Warehousemanagementid { get; set; }
        /// <summary>
        /// 仓库编码
        /// </summary>
        public string Warehousecode { get; set; }

        /// <summary>
        /// 仓库名称
        /// </summary>
        public string Warehousename { get; set; }

        /// <summary>
        /// 面积
        /// </summary>
        public float Area { get; set; }

        /// <summary>
        /// 负责人
        /// </summary>
        public string Director { get; set; }

        /// <summary>
        /// 位置
        /// </summary>
        public string Location { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; }
    }


    public class GetAllWarehousingListQueryCommand : IRequest<ApiResult<IList<WarehousemanagementDTOS>>>{


    }
}
